package com.Algorithm;

import java.util.Arrays;

/**
 * 简单选择培训
 *
 * @author yisl
 * @create 2019-07-01 10:01
 */
public class SelectSort {
    /**
     * @Description:
     * (如果每次比较都交换 ， 那么就是交换排序 ； 如果每次比较完一个循环再交换 ， 就是简单选择排序 。)
     *
     * 遍历整个序列，将最小的数放在最前面。
     *
     * 遍历剩下的序列，将最小的数放在最前面。
     *
     * 重复第二步，直到只剩下一个数。
    * @Param:
    * @return:
    * @Author: yisl
    * @Date: 2019-07-01
    */

    public static void selectSort(int[] a) {

        for (int i = 0; i < a.length; i++){
            int key = a[i];
            int portation = i;
            for (int j = i+1; j < a.length; j++){
                if (a[j] < key){
                    key = a[j];
                    portation = j;
                }
            }
            a[portation] = a[i];
            a[i] = key;
        }
    }

    public static void selectSor1t(int[] a) {
        for (int i = 0; i < a.length; i++) {
            int key = a[i];
            int part = i;
            for (int j = i+1; j < a.length; j++) {
                if(a[j]<key){
                    key = a[j];
                    part = j;
                }
            }
            a[part] = a[i];
            a[i]=key;

        }

    }

    public static void main(String[] args) {
        int[] a = {5,4,3,2,1};
        selectSor1t(a);
        System.out.println(Arrays.toString(a));
    }


}
